home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / gem / l_0799 / 668 < prev    next >
Internet Message Format  |  1994-08-27  |  11KB

  1. Date: Sat, 2 Jul 94 00:35 CDT
  2. From: ekl@sdf.lonestar.org (Evan K. Langlois)
  3. To: gem-list@world.std.com
  4. Subject: A Revised (slightly) Proposal 
  5. Precedence: bulk
  6.  
  7. In addition to keyboard short-cuts we need standardized panels (dialogs),
  8. standard menu positions, and other such guidelines, like how a block
  9. should be selected, how to select discontinous blocks, application data
  10. linkage (no GEM app currently supports this I believe), and what happens
  11. when you type and a block already exists.  The only way to satify everyone
  12. is to make a standard that allows user configuration. The NeXT guide specifies
  13. that short-cuts can be changed.  I submit the following based on 3 standards,
  14. in order - Atari Compendium, NeXT Guidelines (an extension of apple), and
  15. finally this list.  You do NOT have to implement everything in here, and
  16. the guideline also specfifies how to NOT use the guideline!   Also, the
  17. APP_DEFS.SYS file mentioned here and options such as the block=big-cursor
  18. and other weirdness, or country-specific options and such should be
  19. supplied in here.  The user should be able to configure everything globally
  20. and should be be able to configure each app separately if he/she so desires.
  21. We also need to discuss mouse pointers and cursor types, and it is possible
  22. that these would be in the APP_DEFS.SYS too!
  23.  
  24. Function Keys are app-dependant, normally used for macros or execution of
  25. external programs.  Possible are normal, shift, control, alt, shift/control,
  26. shift/alt, but NOT any combination of with alt and control at once.
  27.  
  28. ===========================================================================
  29.  
  30. The following is based on the NeXTStep User Interface Guidelines 3.2
  31. Chapter 3: User Actions: The Keyboard and Mouse.  It assumes that user
  32. preferences are stored in the APP_DEFS.SYS file which is searched for
  33. in the following directories, in order, "U:\etc", "C:\multitos", "C:\mint",
  34. "C:\system", "C:\", and finally the current working directory.  "A:"
  35. should be substituted for "C:" if the user booted from floppy.  Also, the
  36. current working directory will be searched even if the file is already
  37. found in another directory and these settings will over-ride settings
  38. previously found.
  39.  
  40. Choosing Keyboard Alternatives
  41.  
  42. Initially, until the user specifies a different preference, applications
  43. should follow the guidelines for keyboard alternatives described in this
  44. section.  Users can use the Preferences application to alter the keyboard
  45. alternatives for every application at once.  You're also encouraged to let
  46. the user choose and change keyboard alternatives using your application's
  47. Preferences panel.
  48.  
  49. Some sort of "Preferences" application should be generated by the gem-list.
  50. To change the global preferences, run the app, and to change the preferences
  51. of a specific application, pass that application's name on the command line.
  52. This can be run from another GEM application, concurrently if your AES allows
  53. it to provide a consistent interface for editing the APP-DEFS.SYS file.
  54.  
  55. A global usage "Install" application could also set paths and options in
  56. this file as well as copy the files to the proper destination, make 
  57. directories, install icons in the desktop RSC file, and also de-install
  58. all these options and icons and delete the proper files when needed.
  59. By allowing the user to change keys globally he can conform best to the
  60. application/standards that he uses most, so if he want to have ^U close
  61. a window the user can change it himself (although he will have to find
  62. a new key for underline!)
  63.  
  64. Code will also be provided (possibly a whole library) for parsing the file
  65. and for utilizing the information contained within.
  66.  
  67. The guidelines place keyboard alternatives into three groups--reserved,
  68. required, and recommended.  These groups are listed in the tables that fol-
  69. low along with the commands they perform and the menus where the commands
  70. are located.
  71.  
  72. Note that "Command" is normally CONTROL, since ATARI has reserved some ALT
  73. combinations and others are used to generate special keys. Terminal programs
  74. should over-ride global settings in an application specific line so that
  75. ALT is used as the Command key for that app.  Shift is the up-arrow (ascii 1)
  76. In menus, the caret "^" denotes CONTROL and the window closer should be used
  77. for ALT, and an equivalence character (ascii 240) in a boxchar object should
  78. be used for drop-down lists.  The use of the word "panel" refers to a
  79. a standardized dialog which the gem-list should provide code and RSCs for.
  80. The right arrow shows a cascading menu, the delete character (the delta) is
  81. for the iconify/miniturize gadget and buttons that show >> expand the dialog
  82. while << shortens a dialog (for advanced and novice user options).
  83.  
  84. Any function below is assumed to work on upon the currently selected object,
  85. and if no object is selected, it is global.  So HIDE, is hide the currently
  86. selected object, or hide the application.  Show Info gives information about
  87. the object, or about the application.
  88.  
  89. Reserved Keyboard Alternatives
  90.  
  91. Reserved keyboard alternatives must be used for the commands that follow,
  92. and cannot be used for any others.  If your application implements the
  93. functionality that a command represents, it must provide both the command
  94. and the keyboard alternative.
  95.  
  96. For example, if your application opens files, it must have an Open command
  97. with Command-o as the keyboard alternative.  If your application doesn't
  98. allow the user to open files, it won't have an Open command and must not
  99. use Command-o as a keyboard alternative.
  100.  
  101. Keyboard             Command              Menu
  102. ------------------------------------------------------
  103. HELP             Access Help              Help
  104. shift HELP       Context-senstive Help    Help
  105. ALT HELP         Screen Dump              <<no menu>>
  106. UNDO             Undo last command        Edit
  107. ^UNDO            Redo last command        Edit
  108. shift ^UNDO      Multi-level UNDO         Edit
  109. ^A               Select All               Edit
  110. shift ^A         De-select All            Edit
  111. ^C               Copy                     Edit
  112. ^H               Hide                     File
  113. shift ^H         Un_Hide                  Edit
  114. ^N               New                      File
  115. ^O               Open                     File
  116. ^P               Print                    File
  117. ^Q               Quit                     File
  118. ^S               Save                     File
  119. ^V               Paste                    Edit
  120. ^W               Close                    File
  121. shift ^W         Abandon + Reload         File
  122. ^X               Cut                      Edit
  123. TAB              Cycle Object Selection   <<no menu>>
  124. TAB              type-writer style tab    <<no menu>>
  125. ^TAB             Cycle Windows            Window
  126. ALT TAB          Cycle Apps               <<reserved in MultiTOS>>
  127. ^ ALT \          Emergeny Kill App!       <<reserved in MiNT/MultiTOS>>
  128. ^ ALT C          Abort Now!               <<reserved in MiNT/MultiTOS>>
  129.  
  130. The following are editing keys, for both text apps, and maybe dialogs :
  131.  
  132. ^ BKSP           Delete word to left      <<none>>
  133. ^ DEL            Delete word to right     <<none>>
  134. ^ ARROW          Move left/right one word <<none>>
  135. ^ CLRHOME        Move to start of doc.    <<none>>
  136. shift ^DEL       Delete to end of line    <<none>>
  137. shift ^BS        Delete from beg of line  <<none>>
  138. shift LEFT       Move to begin. of line   <<none>>
  139. shift RIGHT      Move to end of line      <<none>>
  140. shift UP         Move up one page         <<none>>
  141. shift DOWN       Move down one page       <<none>>
  142. shift DEL        Delete line              <<none>>
  143. shift CLRHOME    Move to end of document  <none>>
  144. ARROW            Move one char left/right <<none>>
  145. CLRHOME          Move to top of window    <<none>>
  146. BKSP             Delete to left of cursor <<none>>
  147. shift BKSP       same as normal backspace  ...
  148. DEL              Delete right of cursor   <<none>>
  149. INSERT           Toggle insert/overwrite  <<none>>
  150.  
  151. << Hide Application has the same effect as recieving a WM_ALLICONIFY
  152.    message.  Hide Object hides the currently selected object by removing
  153.    it from the screen.  Unhide will unhide all hidden objects.>>
  154.  
  155. Required Keyboard Alternatives
  156.  
  157. These keyboard a